package br.edu.univas.si.engs.view;

import java.awt.BorderLayout;
import java.awt.Frame;
import java.util.ArrayList;

import javax.swing.JDialog;

import br.edu.univas.si.engs.controller.Controller;
import br.edu.univas.si.engs.model.CarTO;
import br.edu.univas.si.engs.model.ClientTO;
import br.edu.univas.si.engs.model.LocDAO;
import br.edu.univas.si.engs.model.RentTO;
import br.edu.univas.si.engs.model.ReserveTO;



public class FrameConsultarClienteLoc extends JDialog {
	
	

	
	
	private static final RentTO rentTO = null;
	private static final ClientTO clientTO = null;
	private static final CarTO carTO = null;
	private static final ReserveTO reserveTO = null;
	private static final LocDAO locDAO = null;
	private PanelConsultarClienteLoc panelConsultarClientesLoc;
	private Controller controller;
	private ClientTO clienteto;

	

	public FrameConsultarClienteLoc(String cliente, Frame object, String string, boolean b){
		super( object,string,b);
		setTitle("Consultar Cliente");
		initialziee(cliente);
		
		setLocationRelativeTo(null); 
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setLocation(290, 130);
		//setModal(true);
		pack();
		
		
	}
	
	public Controller getController() {
		if(controller==null){
		
			
			controller= new Controller(clientTO, carTO, reserveTO, rentTO, locDAO);
		}
		return controller;
	}






	public ClientTO getClienteto() {
		if(clienteto==null){
			clienteto = new ClientTO();
		}
		return clienteto;
	}






	
	private void initialziee(String cliente) {
	add(getPanelConsultarClientesLoc(cliente),BorderLayout.SOUTH);
	
		
	}






	private PanelConsultarClienteLoc getPanelConsultarClientesLoc(String cliente) {
		if(panelConsultarClientesLoc==null){
			panelConsultarClientesLoc=new PanelConsultarClienteLoc(cliente);
            panelConsultarClientesLoc.setButtonListenerConsultacliente(new ButtonListenerConsultarclienteLoc() {
				
			
				
				@Override
				public void limparAcition() {
					panelConsultarClientesLoc.limparTable();
					panelConsultarClientesLoc.getNomeFiled(null).setText(null);
					
				}
				
				@Override
				public void consultarAction() {
				
					ClientTO cliente = getPanelConsultarClientesLoc(null).getcontactClienteTo();
			        ArrayList<ClientTO> listcliente = new ArrayList<ClientTO>();
					listcliente=getController().consultarCliente(cliente.getNome());
					panelConsultarClientesLoc.limparTable();
				    getPanelConsultarClientesLoc(null).addContact(listcliente);
					
				}
			});
		}
		return panelConsultarClientesLoc;
	}
	


}
